
#ifndef XDNS_SERVER_STATE_LISTENER_H
#define XDNS_SERVER_STATE_LISTENER_H

#include "xdns.h"

class XdnsData;
class XdnsHeaderInfo;

class XdnsServerStateListener
{
public:
    XdnsServerStateListener();
    virtual ~XdnsServerStateListener();

    /* See xdns-server-manager-listener.h for description. */
    virtual void ReplyReceived(long queryId,
                               XdnsError error,
                               const XdnsData* data,
                               size_t startOffset,
                               const XdnsHeaderInfo* header
                               ) = 0;

    /*! Notify that this XdnsServerState object will be detroyed.

        @return None.
    */
    virtual void WillBeDestroyed() = 0;
};

#endif  // XDNS_SERVER_STATE_LISTENER_H

